/*****************************************************************************/
/* Domino Operation System GUI Specific Module                               */
/*                                                                           */
/* Copyright (C) 2014 Laszlo Arvai                                           */
/* All rights reserved.                                                      */
/*                                                                           */
/* This software may be modified and distributed under the terms             */
/* of the BSD license.  See the LICENSE file for details.                    */
/*****************************************************************************/

#ifndef _guiBWGraphicsDriver_h
#define _guiBWGraphicsDriver_h

///////////////////////////////////////////////////////////////////////////////
// Includes
#include <krnlTypes.h>

///////////////////////////////////////////////////////////////////////////////
// Constants
#ifdef _WIN32
// round to 32 bit 
#define guiFRAME_BUFFER_ROW_LENGTH ((((guiSCREEN_WIDTH + (guiBITS_PER_PIXEL - 1) )/ guiBITS_PER_PIXEL) + 3 ) / 4 * 4)
#else
#define guiFRAME_BUFFER_ROW_LENGTH ((guiSCREEN_WIDTH + (guiBITS_PER_PIXEL - 1) )/ guiBITS_PER_PIXEL) 
#endif
						
///////////////////////////////////////////////////////////////////////////////
// Global variables
extern dosByte g_gui_frame_buffer[];

///////////////////////////////////////////////////////////////////////////////
// Function prototypes
void guiInitBwGraphicsDriver(void);
void guiUpdateCanvas( dosInt16 in_left, dosInt16 in_top, dosInt16 in_right, dosInt16 in_bottom );

#endif